import { getServerNo } from '@/api/'
import { imgBaseUrl } from '@/api/config'

const platform = uni.getSystemInfoSync().platform
export default {
	// 发起ajax请求获取服务端版本号
	getServerNo: (version, isPrompt = false, callback) => {
		let httpData = {
			version: version.versionCode,
			// 版本名称
			versionName: version.versionName
			// setupPage参数说明（判断用户是不是从设置页面点击的更新，如果是设置页面点击的更新，有不要用静默更新了，不然用户点击没反应很奇怪的）
			// setupPage: isPrompt
		}
		httpData.type = platform
		/* 接口入参说明
		 * version: 应用当前版本号（已自动获取）
		 * versionName: 应用当前版本名称（已自动获取）
		 * type：平台（1101是安卓，1102是IOS）
		 */
		/** **************以下是示例*******************/
		// 可以用自己项目的请求方法
		getServerNo(httpData).then(res => {
			/* res的数据说明
			 * | 参数名称	     | 一定返回 	| 类型	    | 描述
			 * | -------------|--------- | --------- | ------------- |
			 * | versionCode	 | y	    | int	    | 版本号        |
			 * | versionName	 | y	    | String	| 版本名称      |
			 * | versionInfo	 | y	    | String	| 版本信息      |
			 * | updateType	     | y	    | String	| forcibly = 强制更新, solicit = 弹窗确认更新, silent = 静默更新 |
			 * | downloadUrl	 | y	    | String	| 版本下载链接（IOS安装包更新请放跳转store应用商店链接,安卓apk和wgt文件放文件下载链接）  |
			 */

			const DICT_UPDATETYPE = {
				1: 'forcibly', // 强制更新
				2: 'solicit', // 弹窗确认更新
				3: 'silent' // 静默更新
			}
			const { data, code } = res

			if (code == 0) {
				// 兼容之前的版本（updateType是新版才有的参数）
				const newRes = {
					versionName: data.version_name,
					versionInfo: data.version_info || '1.优化了用户体验',
					versionCode: data.version_code,
					downloadUrl: imgBaseUrl + data.download_url,
					apkDownloadUrl: imgBaseUrl + data.apk_download_url,
					minVersionCode: data.min_version_code,
					updateType: DICT_UPDATETYPE[data.update_type]
				}

				if (res.updateType) {
					callback && callback(newRes)
				} else {
					if (res.forceUpdate) {
						res.updateType = 'forcibly'
					} else {
						res.updateType = 'solicit'
					}
					callback && callback(newRes)
				}
			} else if (isPrompt) {
				uni.showToast({
					title: '暂无新版本',
					icon: 'none'
				})
			}
		})
		/** **************以上是示例*******************/
	},
	// 弹窗主颜色（不填默认粉色）
	appUpdateColor: 'f00',
	// 弹窗图标（不填显示默认图标，链接配置示例如： '/static/demo/ic_attention.png'）
	appUpdateIcon: '',
	IOSURL: 'itms-apps://itunes.apple.com/cn/app/id1600390550' // apple stroe url
}
